package tts_server

import (
	"fmt"
	"sync"
	"xiaozhi/config"
)

type TTSServer interface {
	Init()
	Start()
	Stop()
	OnMessage(data []byte)
}

type TTS struct {
	/*State  TTS状态
	 * start:TTS开始
	 * stop:TTS结束
	 * sentence_start:句子开始
	 * sentence_end:句子结束
	 * abort:客户端设备在播放语音过程中，识别到唤醒词或者按键打断时
	 */
	State string `json:"state"`
	/*Text
	 * 输入的文本
	 */
	Text string `json:"text"`
	/*Type
	 * tts
	 */
	Type  string `json:"type"`
	Audio []byte `json:"audio"`
}

var lk sync.Mutex
var fail = 0
var reqNum = 0

func (tts *TTS) OnMessage(text string) {
	fmt.Println("TTS start")
	tts.Init()
	switch config.NewSysConfig().TTSType {
	case config.NewSysServerType().AliYun:
		tts.OnAlyTTS(text)
		break
	}
	fmt.Println("TTS end")
}
